package com.lwlk.zdk.mapper.T;

import com.github.pagehelper.Page;
import com.lwlk.zdk.model.T.TDisVehicle;
import com.lwlk.zdk.model.T.TDisVehicleExample;
import com.lwlk.zdk.model.VehicleNumber;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface TDisVehicleMapper {
    int countByExample(TDisVehicleExample example);

    int deleteByExample(TDisVehicleExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(TDisVehicle record);

    int insertSelective(TDisVehicle record);

    List<TDisVehicle> selectByExample(TDisVehicleExample example);

    TDisVehicle selectByPrimaryKey(@Param("id") Integer id);

    int updateByExampleSelective(@Param("record") TDisVehicle record, @Param("example") TDisVehicleExample example);

    int updateByExample(@Param("record") TDisVehicle record, @Param("example") TDisVehicleExample example);

    int updateByPrimaryKeySelective(TDisVehicle record);

    int updateByPrimaryKey(TDisVehicle record);

    List<Map<String, Object>> selectByPlatformId();

    List<Map<String, Object>> selectDetail(@Param("vehicleId") Integer vehicleId);

    List<Map<String, Object>> selectVehicle(@Param("vId") Integer vId);

    String selectByVid(@Param("vId") Integer vId);

    String selectVehicleColor(@Param("vehicelId") Integer vehicelId);

    List<Map> selectVehicleId(@Param("vehicleNumber") String vehicleNumber);

    Integer selectMaxVehicleId();

    int selectManyVehicleNumber(@Param("vehicleNumber") String vehicleNumber);

    int deleteBatch(@Param("ids") Integer[] ids);

    String selectDimVehicleNumber(@Param("vehicleNumber") String vehicleNumber);

    int updateDelFlag(@Param("vehicleId") Integer vehicleId);


    List<Map<String, Object>> selectDimByPlatformId(@Param("platformId") Integer platformId, @Param("vehicleNumber") String vehicleNumber,
                                                    @Param("vehicleType") String vehicleType, @Param("enterpriseName") String enterpriseName,
                                                    @Param("netStatus") String netStatus, @Param("vehicleLicenseColor") String vehicleLicenseColor);

    int selectRegularBus(@Param("regionCode") Integer regionCode);

    int selectCharteredBus(@Param("regionCode") Integer regionCode);

    int selectEnterprise();

    String selectVehicleIdList(@Param("regionCode") Integer regionCode);

    List<Map<String, Object>> selectVehicleNumber(@Param("enterpriseId") Integer enterpriseId);

    List<TDisVehicle> selectVehicleMessage(@Param("vehicleNumber") String vehicleNumber);

    List<TDisVehicle> findUserByUsername(@Param("stringCellValue") String stringCellValue);

    List<Map> selectVnameAndColor(@Param("vId") Integer vId);

    List<Map<String, Object>> selectJoinVehicle(@Param("platformId") Integer platformId, @Param("vehicleNumber") String vehicleNumber, @Param("vehicleType") Integer vehicleType,
                                                @Param("enterpriseName") String enterpriseName, @Param("networkState") Integer networkState, @Param("vehicleLicenseColor") Short vehicleLicenseColor);

    String selectIndustryName(@Param("vId") Integer vId);

    int selectDangerousGoods(@Param("regionCode") Integer regionCode);

    int updateBindingPlatform(@Param("platformId") Integer platformId, @Param("vehicleId") Integer vehicleId);

    List<Map<String, Object>> selectPNameAndEname(@Param("vId") Integer vId);


    List<Map<String, Object>> selectRegionByNehicle(@Param("vid") Integer vid);

    List<VehicleNumber> selectAllVehicle(@Param("newCode") Integer newCode, @Param("vno") String vno, @Param("resultList") List resultList);


}